草庐IT

反射简化 JDBC ResultSet

全部标签

java - 如何简化 token 预测 DFA?

词法分析器DFA导致“代码太大”错误我正在尝试使用ANTLR3解析Java服务器页面。Java对单个方法的字节码有64k的限制,我在编译ANTLR生成的Java源代码时一直遇到“codetoolarge”的错误。在某些情况下,我已经能够通过破坏我的词法分析器来修复它。例如,JSP使用XML“名称”标记,它可以包含多种字符。我决定在我的“名称”token中只接受ASCII字符,这极大地简化了一些测试,词法分析器允许它编译。然而,我已经到了无法再偷工减料的地步,但DFA仍然太复杂。我该怎么办?是否存在导致复杂DFA的常见错误?有没有办法抑制DFA的生成,也许是依靠语义谓词或固定前瞻来帮助预

java - 当参数是 Object[] 类型时通过反射调用方法

我正在使用反射调用aclassthatisdynamicallyconstructedatruntime上的方法:publicStringcreateJDBCProvider(Object[]args)方法如下:Methodm=adminTask.getClass().getMethod("createJDBCProvider",Object[].class);id=(String)m.invoke(adminTask,newObject[]{"a","b","c"});IDEA警告我为调用可变参数方法创建冗余数组。我调用的方法实际上采用了Object[],而不是Object...但我

java - 我们如何在 java 中使用反射将 transient 添加到现有类?

有什么方法可以使用java反射API使字段成为静态或transient的。编辑:我有一些Bean已经使用soapapi序列化并被一些客户使用,对于一些客户我不想公开一两个字段。当然有很多方法可以在不更改或添加transient关键字的情况下做到这一点。只是想知道是否可以做到,如果可以,怎么做?编辑:我不会将其称为API或框架问题,更像是设计缺陷...我将apacheaxis2用于soap 最佳答案 没有。这样的事情需要修改类的字节码。static字段的一个特别困难是使用与对象字段不同的字节码访问它们。我不明白为什么不能在运行时将字段

Java 反射框架和安全性

假设我在我的应用程序的外部库中有一个单例类。但我还是可以使用反射创建该特定类的实例。像这样Classclas=Class.forName(Private.class.getName());for(Constructorc:clas.getDeclaredConstructors()){c.setAccessible(true);Privatep=(Private)c.newInstance();System.out.println(p);}我该如何限制它?.谢谢J 最佳答案 通过使用SecurityManager并控制Reflect

java - 通过反射获取所有内部类

我有以下问题。我有这个漂亮的类,现在我想获取所有扩展该类的类(内部类)并用它填充“classList”。(当然是自动的)publicabstractclassCompoundReference{privatestaticList>classList=newArrayList>();@CompoundKey(gsType=User.class,dbType=UserDetailsMappings.class)publicstaticclassCUserextendsCompoundReference{}@CompoundKey(gsType=Catalog.class,dbType=Ca

java - java中反射和后期绑定(bind)的区别与实时示例

在学习Java教程的时候,Reflection和LateBinding让我很困惑。在一些教程中,他们写道它们是相同的,并且反射和后期绑定(bind)之间没有任何区别。但是其他教程说有区别。我很困惑,所以有人可以解释一下Java中的反射和后期绑定(bind)是什么,如果可能的话,请给我一些关于两者的真实示例。谢谢.. 最佳答案 Java使用后期绑定(bind)来支持多态性;这意味着应该推迟到运行时才决定应该使用许多方法中的哪一个。以N个类实现接口(interface)(或抽象类,fwiw)的抽象方法为例。publicinterface

java - 使用核心 JAVA 编程 - 反射 API

这个问题在这里已经有了答案:关闭9年前。PossibleDuplicate:Whatisreflection,andwhyisituseful?反射在Java中的具体用途是什么?任何人都可以举例说明吗?如果有任何相关概念,请分享。

java - 使用反射获取字段值

我无法获取字段值。我想做的是在运行时获取对象。请让我知道哪里出错了。测试类importjava.lang.reflect.Field;publicclassTest{publicstaticvoidmain(String[]args)throwsClassNotFoundException,NoSuchFieldException,SecurityException,IllegalArgumentException,IllegalAccessException{finalFieldfield=Class.forName("com.logging.EX").getDeclaredFiel

java - 通过java中的反射设置对象字段的值

首先,我有一个这样的对象:publicclassEntity{publicintdata1;publicStringdata2;publicfloatdata3;publicSubEntitydata4;}publicclassSubEntity{publicintid;publicSubEntity(intid){tis.id=id;}}还有一个HashMap:HashMapmap=newHashMap();map.put("data1",1);map.put("data2","name");map.put("data3",1.7);map.put("data4",newSubEnt

java - Eclipse - Maven - 依赖关系没有自动反射(reflect)

这个问题在这里已经有了答案:Eclipse:Mavensearchdependenciesdoesn'twork(8个答案)关闭5年前。我已经安装了Java1.7eclipse朱诺号已从EclipseMarket安装-MavenIntegrationforEclipseWTP(又名m2e-wtp)、m2e-apt、SpringIDE、TheSpringToolSuite™(STS)已将M2_HOME定义为安装Maven的目录。PATH更新为%M2_HOME%/bin我正在使用WindowsXP。我能够创建Maven项目,但是在尝试添加依赖项时(选择pom.xml-Dependencie